/**
 * Configure the RTEMS initialization.
 */
#include <stdlib.h>

#include <rtems.h>
#include "iso9660/iso9660_shell.h"

/**
 * Configure base RTEMS resources.
 */
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_MEMORY_OVERHEAD                  512
#define CONFIGURE_MAXIMUM_TASKS                    rtems_resource_unlimited (10)
#define CONFIGURE_MAXIMUM_SEMAPHORES               rtems_resource_unlimited (10)
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES           rtems_resource_unlimited (5)
#define CONFIGURE_MAXIMUM_PARTITIONS               rtems_resource_unlimited (2)
#define CONFIGURE_MAXIMUM_TIMERS                   10

/**
 * Configure drivers.
 */
#define CONFIGURE_MAXIMUM_DRIVERS                  10
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER

/**
 * Configure file system and libblock.
 */
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS   20
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
#define CONFIGURE_SWAPOUT_TASK_PRIORITY            15

/**
 * Configure the IDE layer
 */

#if RTEMS_APP_IDEDISK
#   define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE          (16 * 1024 * 1024)
#   define CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS      2
#   define CONFIGURE_BDBUF_MAX_WRITE_BLOCKS           32

#   define CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
#   define CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
#   define CONFIGURE_ATA_DRIVER_TASK_PRIORITY         14
#endif

#define CONFIGURE_FILESYSTEM_ALL

/**
 * Tell confdefs.h to provide the configuration.
 */
#define CONFIGURE_INIT
#include "iso9660/confdefs_local.h"



/**
 * Configure shell commands
 */
#define CONFIGURE_SHELL_USER_COMMANDS &Shell_ISO9660_Command
#define CONFIGURE_SHELL_USER_ALIASES &Shell_ISO9660_Alias
#define CONFIGURE_SHELL_COMMANDS_ALL

#define CONFIGURE_SHELL_COMMANDS_INIT

#include <rtems/shellconfig.h>
